package main

import "fmt"

func main() {
	var q Queue

	q.Push(123)
	q.Push("4567")
	q.Push(123.12)
	q.Push(54.21)
	for i := 0; i < 4; i++ {
		fmt.Println(q.Pop())
	}

}

type Queue []any

func (q *Queue) Push(v any) {
	*q = append(*q, v)
}

func (q *Queue) Pop() (v any) {
	head := (*q)[0]
	*q = (*q)[1:]
	return head
}
func (q *Queue) IsEmpty() bool {
	return len(*q) == 0
}
